\subsection{Evaluierte Bibliotheken}
\label{subsec:ebib}
Um die Umsetzung der oben beschriebnen Anforderungen zu erleichtern wurde der Einsatz unterschiedlicher Bibliotheken evaluiert. Hier sollen zun\"achst die Bibliotheken beschrieben werden, die nicht verwendet wurden und kurz begr\"undet werden, warum von der Verwendung abgesehen wurde.

\subsubsection{JGraph}
JGraph \cite{JGraph} ist eine Bibliothek zur Erzeugung, graphischen Darstellung und Analyse von Graphen, die sowohl in einer Open-Source- als auch in einer um einige Funktionen erweiterten Closed-Source-Variante vorliegt. Die Evaluation beschr\"ankte sich auf die Open-Source-Variante.\\
JGraph liegt zwar bereits in Version 5.9.2.1 vor, leidet jedoch weiter an Kinderkrankheiten, so st\"urzte selbst die der Distribution beigelegte Testapplikation w\"ahrend des Evaluation mehrfach (nicht reproduzierbar) ab. Weiter wurde die Applikation bereits bei relativ kleinen Graphen auf der Testmaschine (Athlon 3000+, 2 GB Arbeitsspeicher) extrem langsam und es kam wiederholt zu Graphikfehlern.\\
JGraph erscheint also zur Verwendung nicht geeignet, da selbst die Originalentwickler keine performante und stabile Applikation erstellen konnten.

\subsubsection{GEF}
GEF \cite{GEF} ist eine im Rahmen des Eclipse-Projekts entstandene Bibliothek zur Erzeugung von Graphen und wird in Eclipse unter anderem zur Darstelleung von UML-Klassendiagrammen und  Datenbankschemata verwendet.\\
GEF ist zwar nicht so tr\"age und absturtzanf\"allig in der Verwendung wie JGraph, ist allerdings sehr eng mit der Eclipse-Plattform verbunden und ohne diese nur schwer einzusetzen. Das entstehende Programm w\"urde also die Verwendung von Eclipse voraussetzten. Weiter lassen sich einige Implementierungsdetails von GEF nicht einfach abstrahieren, eine Erweiterung um weitere Operationen w\"urde also m\"oglicherweise das Erlernen von Teilen von GEF voraussetzen. \\
Die Verwendung von GEF zur graphischen Darstellung der Algorithmen wurde wie auch die Verwendung von JGraph ausgeschlossen. 

\subsubsection{Xerces}
Xerces \cite{Xerces} stellt DOM- und SAX-Parser f\"ur XML bereit und wurde im Rahmen des Apache-Projekts f\"ur C++, Perl und Java entwickelt.\\
Obwohl Xerces als Referenzimplementierung f\"ur DOM- und SAX-Parser angesehen werden kann, wurde von der direkten Verwendung abgesehen, der vornehmliche Grund hierf\"ur war die komplexe Navigation auf dem DOM-Tree bzw. die umst\"andliche Parsung mittels SAX, vor allem im Vergleich zur eleganten an regul\"are Ausdr\"ucke erinnernde Verwendungsm\"oglichkeit von XPath bei Verwendung von JDom. \\
JDom verwendet zum Parsen selbst allerdings einen beliebigen SAX-Parser, hier\-f\"ur wurde auf den f\"ur Geschwindigkeit und Korrektheit bekannten Xerces-Parser zur\"uckgegriffen.

\subsubsection{dom4j}
dom4j \cite{dom4j} ist eine weitere Open-Source-Parser-Bibliothek, die einen DOM-Parser und Navigationsfunktionalit\"at auf dem DOM-Tree zur Verf\"ugung stellt.\\
Im Gegensatz zu Xerces bietet dom4j die M\"oglichkeit, mittels XPath auf dem DOM-Tree zu navigieren. Die Entscheidung, JDom und nicht dom4j zu verwenden, fiel nach einem Performanztest der XPath-Engines, den JDom zu seinen Gunsten entscheiden konnte.